home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Bank smakow / BankSmakow.air / BankSmakow.swf / scripts / mx / effects / effectClasses / CompositeEffectInstance.as < prev    next >
Text File  |  2009-12-16  |  6KB  |  202 lines

  1. package mx.effects.effectClasses
  2. {
  3.    import flash.events.Event;
  4.    import mx.core.mx_internal;
  5.    import mx.effects.EffectInstance;
  6.    import mx.effects.IEffectInstance;
  7.    import mx.effects.Tween;
  8.    import mx.events.EffectEvent;
  9.    
  10.    use namespace mx_internal;
  11.    
  12.    public class CompositeEffectInstance extends EffectInstance
  13.    {
  14.       
  15.       mx_internal static const VERSION:String = "3.5.0.12683";
  16.        
  17.       
  18.       mx_internal var childSets:Array;
  19.       
  20.       mx_internal var activeEffectQueue:Array;
  21.       
  22.       private var _playheadTime:Number = 0;
  23.       
  24.       mx_internal var timerTween:Tween;
  25.       
  26.       mx_internal var endEffectCalled:Boolean;
  27.       
  28.       public function CompositeEffectInstance(param1:Object)
  29.       {
  30.          activeEffectQueue = [];
  31.          childSets = [];
  32.          super(param1);
  33.       }
  34.       
  35.       override public function get playheadTime() : Number
  36.       {
  37.          return _playheadTime + super.playheadTime;
  38.       }
  39.       
  40.       override mx_internal function get actualDuration() : Number
  41.       {
  42.          var _loc1_:Number = NaN;
  43.          if(repeatCount > 0)
  44.          {
  45.             _loc1_ = mx_internal::durationWithoutRepeat * repeatCount + (repeatDelay * repeatCount - 1) + startDelay;
  46.          }
  47.          return _loc1_;
  48.       }
  49.       
  50.       override public function play() : void
  51.       {
  52.          timerTween = new Tween(this,0,0,mx_internal::durationWithoutRepeat);
  53.          super.play();
  54.       }
  55.       
  56.       override public function finishEffect() : void
  57.       {
  58.          activeEffectQueue = null;
  59.          super.finishEffect();
  60.       }
  61.       
  62.       mx_internal function hasRotateInstance() : Boolean
  63.       {
  64.          var _loc1_:int = 0;
  65.          var _loc2_:CompositeEffectInstance = null;
  66.          if(mx_internal::childSets)
  67.          {
  68.             _loc1_ = 0;
  69.             while(_loc1_ < mx_internal::childSets.length)
  70.             {
  71.                if(mx_internal::childSets[_loc1_].length > 0)
  72.                {
  73.                   _loc2_ = mx_internal::childSets[_loc1_][0] as CompositeEffectInstance;
  74.                   if(mx_internal::childSets[_loc1_][0] is RotateInstance || _loc2_ && _loc2_.hasRotateInstance())
  75.                   {
  76.                      return true;
  77.                   }
  78.                }
  79.                _loc1_++;
  80.             }
  81.          }
  82.          return false;
  83.       }
  84.       
  85.       mx_internal function get durationWithoutRepeat() : Number
  86.       {
  87.          return 0;
  88.       }
  89.       
  90.       override public function initEffect(param1:Event) : void
  91.       {
  92.          var _loc4_:Array = null;
  93.          var _loc5_:int = 0;
  94.          var _loc6_:int = 0;
  95.          super.initEffect(param1);
  96.          var _loc2_:int = mx_internal::childSets.length;
  97.          var _loc3_:int = 0;
  98.          while(_loc3_ < _loc2_)
  99.          {
  100.             _loc5_ = (_loc4_ = mx_internal::childSets[_loc3_]).length;
  101.             _loc6_ = 0;
  102.             while(_loc6_ < _loc5_)
  103.             {
  104.                _loc4_[_loc6_].initEffect(param1);
  105.                _loc6_++;
  106.             }
  107.             _loc3_++;
  108.          }
  109.       }
  110.       
  111.       override public function stop() : void
  112.       {
  113.          super.stop();
  114.          if(mx_internal::timerTween)
  115.          {
  116.             mx_internal::timerTween.stop();
  117.          }
  118.       }
  119.       
  120.       override public function reverse() : void
  121.       {
  122.          super.reverse();
  123.          super.playReversed = !mx_internal::playReversed;
  124.          if(mx_internal::timerTween)
  125.          {
  126.             mx_internal::timerTween.reverse();
  127.          }
  128.       }
  129.       
  130.       public function addChildSet(param1:Array) : void
  131.       {
  132.          var _loc2_:int = 0;
  133.          var _loc3_:int = 0;
  134.          if(param1)
  135.          {
  136.             _loc2_ = param1.length;
  137.             if(_loc2_ > 0)
  138.             {
  139.                if(!mx_internal::childSets)
  140.                {
  141.                   childSets = [param1];
  142.                }
  143.                else
  144.                {
  145.                   mx_internal::childSets.push(param1);
  146.                }
  147.                _loc3_ = 0;
  148.                while(_loc3_ < _loc2_)
  149.                {
  150.                   param1[_loc3_].addEventListener(EffectEvent.EFFECT_END,mx_internal::effectEndHandler);
  151.                   param1[_loc3_].parentCompositeEffectInstance = this;
  152.                   _loc3_++;
  153.                }
  154.             }
  155.          }
  156.       }
  157.       
  158.       protected function onEffectEnd(param1:IEffectInstance) : void
  159.       {
  160.       }
  161.       
  162.       override mx_internal function playWithNoDuration() : void
  163.       {
  164.          super.playWithNoDuration();
  165.          end();
  166.       }
  167.       
  168.       public function onTweenUpdate(param1:Object) : void
  169.       {
  170.          _playheadTime = !!mx_internal::timerTween ? Number(mx_internal::timerTween.playheadTime) : Number(_playheadTime);
  171.       }
  172.       
  173.       override public function pause() : void
  174.       {
  175.          super.pause();
  176.          if(mx_internal::timerTween)
  177.          {
  178.             mx_internal::timerTween.pause();
  179.          }
  180.       }
  181.       
  182.       mx_internal function effectEndHandler(param1:EffectEvent) : void
  183.       {
  184.          onEffectEnd(param1.effectInstance);
  185.       }
  186.       
  187.       override public function resume() : void
  188.       {
  189.          super.resume();
  190.          if(mx_internal::timerTween)
  191.          {
  192.             mx_internal::timerTween.resume();
  193.          }
  194.       }
  195.       
  196.       public function onTweenEnd(param1:Object) : void
  197.       {
  198.          _playheadTime = !!mx_internal::timerTween ? Number(mx_internal::timerTween.playheadTime) : Number(_playheadTime);
  199.       }
  200.    }
  201. }
  202.